From c05842ad9926901c5c86b7cd854ec57d6c1177c5 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 23 Feb 2006 14:50:00 +0100 Subject: [PATCH] Disable pagetable pinning for shadow-mode-refcount guests. Signed-off-by: Steven Smith Signed-off-by: Keir Fraser --- xen/arch/x86/mm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 65aed8c0d1..f2a5f2b257 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -1776,7 +1776,7 @@ int do_mmuext_op( pin_page: if ( shadow_mode_refcounts(FOREIGNDOM) ) - type = PGT_writable_page; + break; okay = get_page_and_type_from_pagenr(mfn, type, FOREIGNDOM); if ( unlikely(!okay) ) @@ -1811,6 +1811,9 @@ int do_mmuext_op( goto pin_page; case MMUEXT_UNPIN_TABLE: + if ( shadow_mode_refcounts(d) ) + break; + if ( unlikely(!(okay = get_page_from_pagenr(mfn, d))) ) { MEM_LOG("Mfn %lx bad domain (dom=%p)", -- 2.30.2